SQL ফাংশন হল ডেটাবেসে ডেটা প্রক্রিয়াকরণের জন্য ব্যবহৃত পূর্বনির্ধারিত কমান্ড বা কৌশল। SQL ফাংশন ব্যবহার করে আপনি ডেটা ম্যানিপুলেশন, অ্যাগ্রিগেশন, হিসাব-নিকাশ এবং কাস্টম ফাংশন তৈরি করতে পারেন। এসকিউএল ফাংশন দুটি প্রধান ভাগে বিভক্ত করা যায়:
এখানে কিছু সাধারণ SQL ফাংশন এর উদাহরণ দেওয়া হল।
এগ্রিগেট ফাংশনগুলি ডেটাবেসের একাধিক রেকর্ডের উপর গণনা বা অপারেশন করতে ব্যবহৃত হয়। এগুলি GROUP BY কুয়েরির সাথে ব্যবহৃত হয়, যেমন COUNT, SUM, AVG, MAX, এবং MIN।
এই ফাংশনটি নির্দিষ্ট শর্ত পূরণ করা রেকর্ডের সংখ্যা গণনা করে।
SELECT COUNT(*) FROM Students;
এটি Students টেবিলের সমস্ত রেকর্ডের সংখ্যা গণনা করবে।
SUM() ফাংশনটি একটি নির্দিষ্ট কলামের মানের যোগফল গণনা করে।
SELECT SUM(Salary) FROM Employees;
এটি Employees টেবিলের সকল কর্মচারীর Salary কলামের যোগফল প্রদান করবে।
AVG() ফাংশনটি একটি কলামের গড় মান হিসাব করে।
SELECT AVG(Age) FROM Students;
এটি Students টেবিলের Age কলামের গড় মান প্রদান করবে।
MAX() ফাংশনটি একটি কলামের সর্বোচ্চ মান প্রদান করে।
SELECT MAX(Age) FROM Students;
এটি Students টেবিলের Age কলামের সর্বোচ্চ বয়স প্রদান করবে।
MIN() ফাংশনটি একটি কলামের সর্বনিম্ন মান প্রদান করে।
SELECT MIN(Salary) FROM Employees;
এটি Employees টেবিলের Salary কলামের সর্বনিম্ন বেতন প্রদান করবে।
স্কেলার ফাংশনগুলি একক মানের উপর অপারেশন করে। এই ধরনের ফাংশনগুলি টেক্সট, সংখ্যা, তারিখ ইত্যাদি মানের উপর কাজ করে। কিছু উদাহরণ হল UPPER(), LOWER(), LENGTH(), ROUND(), NOW(), CONCAT()।
UPPER() ফাংশনটি একটি টেক্সট স্ট্রিংয়ের সমস্ত অক্ষরকে বড় অক্ষরে রূপান্তর করে।
SELECT UPPER(Name) FROM Employees;
এটি Employees টেবিলের Name কলামের সমস্ত নামকে বড় অক্ষরে রূপান্তর করবে।
LOWER() ফাংশনটি একটি টেক্সট স্ট্রিংয়ের সমস্ত অক্ষরকে ছোট অক্ষরে রূপান্তর করে।
SELECT LOWER(Name) FROM Employees;
এটি Employees টেবিলের Name কলামের সমস্ত নামকে ছোট অক্ষরে রূপান্তর করবে।
LENGTH() ফাংশনটি একটি টেক্সট স্ট্রিংয়ের দৈর্ঘ্য বা অক্ষরের সংখ্যা প্রদান করে।
SELECT LENGTH(Name) FROM Employees;
এটি Employees টেবিলের Name কলামের নামগুলোর দৈর্ঘ্য প্রদান করবে।
ROUND() ফাংশনটি সংখ্যাকে নির্দিষ্ট দশমিক স্থান পর্যন্ত রাউন্ড করে।
SELECT ROUND(Salary, 2) FROM Employees;
এটি Employees টেবিলের Salary কলামের মানকে ২ দশমিক পর্যন্ত রাউন্ড করবে।
NOW() ফাংশনটি বর্তমান তারিখ এবং সময় প্রদান করে।
SELECT NOW();
এটি বর্তমান তারিখ এবং সময় প্রদান করবে।
CONCAT() ফাংশনটি দুটি বা ততোধিক স্ট্রিংকে একত্রিত (concatenate) করে।
SELECT CONCAT(FirstName, ' ', LastName) AS FullName FROM Employees;
এটি Employees টেবিলের FirstName এবং LastName কলামকে একত্রিত করে একটি পূর্ণ নাম প্রদান করবে।
SQL তে Date and Time Functions ব্যবহার করে তারিখ এবং সময়ের সাথে সম্পর্কিত অপারেশন করা হয়। কিছু জনপ্রিয় তারিখ ও সময় ফাংশন হলো CURDATE(), DATE_ADD(), DATE_SUB(), YEAR(), MONTH(), DAY()।
CURDATE() ফাংশনটি বর্তমান তারিখ প্রদান করে।
SELECT CURDATE();
এটি বর্তমান তারিখ প্রদান করবে।
DATE_ADD() ফাংশনটি নির্দিষ্ট তারিখে একটি নির্দিষ্ট সময় যোগ করে।
SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH);
এটি '2022-01-01' তারিখে ১ মাস যোগ করে নতুন তারিখ প্রদান করবে।
DATE_SUB() ফাংশনটি নির্দিষ্ট তারিখ থেকে একটি নির্দিষ্ট সময় বিয়োগ করে।
SELECT DATE_SUB('2022-01-01', INTERVAL 1 MONTH);
এটি '2022-01-01' তারিখ থেকে ১ মাস বিয়োগ করে নতুন তারিখ প্রদান করবে।
YEAR() ফাংশনটি একটি তারিখ থেকে বছর বের করে।
SELECT YEAR('2022-01-01');
এটি '2022-01-01' তারিখের বছর 2022
প্রদান করবে।
SQL ফাংশন ডেটাবেসে ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের জন্য অত্যন্ত কার্যকরী। এগুলি এগ্রিগেট ফাংশন (যেমন COUNT()
, SUM()
, AVG()
, MAX()
, MIN()
) এবং স্কেলার ফাংশন (যেমন UPPER()
, LOWER()
, LENGTH()
, NOW()
, CONCAT()
) হিসেবে বিভক্ত করা যায়। SQL ফাংশন ব্যবহার করে আপনি ডেটা বিশ্লেষণ এবং গণনা করতে পারেন, যেগুলি আপনার ডেটাবেস ম্যানেজমেন্টকে আরও কার্যকর এবং সময় সাশ্রয়ী করে তোলে।
SQL-এর অনেক নিজস্ব(Built-in) ফাংশন রয়েছে, যা তথ্য হিসাব-নিকাশে ব্যবহৃত হয়।
aggregate
ফাংশন একটি কলামের ভ্যালুগুলো হিসাব(calculation) করে একটি একক মান রিটার্ন করে।
প্রয়োজনীয় aggregate
ফাংশনঃ
AVG
()
- গড় মান রিটার্ন করে।COUNT
()
- সারি সংখ্যা রিটার্ন করে।FIRST
()
- প্রথম ভ্যালুটি রিটার্ন করে।LAST
()
- শেষ ভ্যালুটি রিটার্ন করে।MAX
()
- বৃহত্তম ভ্যালুটি রিটার্ন করে।MIN
()
- ক্ষুদ্রতম ভ্যালুটি রিটার্ন করে।SUM
()
- সমষ্টি রিটার্ন করে।ইনপুট ভ্যালুর উপর ভিত্তি করে scalar
ফাংশন একক মান রিটার্ন করে।
প্রয়োজনীয় scalar
ফাংশনঃ
UCASE
()
- একটি ফিল্ডের অক্ষর সমূহকে বড়-হাতের অক্ষরে রূপান্তর করে।LCASE
()
- একটি ফিল্ডের অক্ষর সমূহকে ছোট-হাতের অক্ষরে রূপান্তর করে।MID
()
- একটি টেক্সট ফিল্ডের থেকে অক্ষর সমূহকে নিষ্কাশন(extract) করে।LEN
()
- টেক্সট ফিল্ডের দৈর্ঘ্য কে রিটার্ন করে।ROUND
()
- দশমিক সংখ্যাকে একটি নির্দিষ্ট পূর্ণ সাংখ্যায় প্রকাশ করে।NOW
()
- সিস্টেমের বর্তমান তারিখ এবং সময় রিটার্ন করে।FORMAT
()
- একটি ফিল্ডকে প্রদর্শন করানোর গঠন(formats) নির্ধারন করে।বিঃদ্রঃ Aggregate
ফাংশন-সমুহ সম্পর্কে পরবর্তী অধ্যায়ে বিস্তারিত আলোচনা করা হয়েছে।
AVG
()
ফাংশন একটি কলামের গড় মান রিটার্ন করে।
নিম্নে SQL AVG
()
ফাংশনটির সিনট্যাক্স দেওয়া হলঃ
SELECT AVG(name_of_column)
FROM name_of_table;
AVG
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিলের "রোল নম্বর(Roll_number)" কলামের গড় মান নিয়ে আসবেঃ
SELECT AVG(Roll_number)
FROM Student_details;
SQL COUNT
()
ফাংশনটি ডেটাবেজে নির্ধারিত বৈশিষ্ট্যের ভিত্তিতে সদৃশ(matched) সারির সংখ্যা রিটার্ন করে।
COUNT
(
name_of_column
)
ফাংশনটি একটি নির্দিষ্ট কলামের মোট ভ্যালুর সংখ্যা রিটার্ন করে। তবে এক্ষেত্রে NULL
ভ্যালুগুলো হিসাবযোগ্য(countable) নহেঃ
SELECT COUNT(name_of_column)
FROM name_of_table;
COUNT
(*)
ফাংশনটি একটি টেবিলের সর্বমোট রেকর্ড সংখ্যা রিটার্ন করেঃ
SELECT COUNT(*)
FROM name_of_table;
COUNT
(
DISTINCT
name_of_column
)
ফাংশনটি একটি নির্দিষ্ট কলামের মোট স্বতন্ত্র(distinct) রেকর্ড সংখ্যা রিটার্ন করেঃ
SELECT COUNT(DISTINCT name_of_column)
FROM name_of_table;
বিঃদ্রঃ
COUNT
(
DISTINCT
)
ফাংশনটি শুধুমাত্র Oracle এবং SQL Server এ কাজ করে কিন্তু MS Access এ কাজ করে না।
COUNT
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিলের "রোল নাম্বার(Roll_number)"=১০৩ এ কতটি রেকর্ড রয়েছে তা গণনা করবেঃ
SELECT COUNT(Roll_number) AS StudentDetailsRoll_103
FROM Student_details
WHERE Roll_number=103;
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিলের সকল রেকর্ডকে গণনা করবেঃ
SELECT COUNT(*) AS TotalStudentDetails
FROM Student_details;
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিলের ইউনিক রেকর্ড গুলোকে গণনা করবেঃ
SELECT COUNT(DISTINCT Roll_number) AS TotalStudentDetails
FROM Student_details;
SQL FIRST
()
ফাংশনটি নির্বাচিত(selected) কলামের প্রথম ভ্যালুটি রিটার্ন করে।
SELECT FIRST(name_of_column)
FROM name_of_table;
বিঃদ্রঃ
FIRST
()
ফাংশনটি শুধুমাত্র MS Access এ সাপোর্ট করে।
SELECT name_of_column
FROM name_of_table
ORDER BY name_of_column ASC LIMIT 1;
SELECT name_of_column
FROM name_of_table
WHERE ROWNUM <=1
ORDER BY name_of_column ASC;
SELECT TOP 1 name_of_column
FROM name_of_table
ORDER BY name_of_column ASC;
FIRST
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিলের "শিক্ষার্থীর নাম(Student_name)" কলামের প্রথম ভ্যালুটিকে সিলেক্ট করবেঃ
SELECT Student_name
FROM Student_details
ORDER BY Student_name ASC LIMIT 1;
LAST()
একটি SQL ফাংশন যা সাধারণত অ্যাক্সেস ডেটাবেস (Access Database) বা MySQL এর মতো কিছু ডেটাবেস সিস্টেমে ব্যবহৃত হয়, এবং এটি সাধারণত শেষ রেকর্ড বা ফলাফল রিটার্ন করতে ব্যবহৃত হয়। যদিও LAST()
SQL স্ট্যান্ডার্ড ফাংশন নয়, কিছু নির্দিষ্ট ডেটাবেসে এটি ব্যবহার করা যেতে পারে। তবে, বেশিরভাগ ডেটাবেস সিস্টেমে LIMIT
বা ORDER BY
ব্যবহারের মাধ্যমে শেষ রেকর্ড পাওয়া যায়।
এখানে SQL LAST()
ফাংশন এবং এর বিকল্প ব্যবহারের উপায় নিয়ে বিস্তারিত আলোচনা করা হলো।
LAST()
ফাংশনLAST()
ফাংশন সাধারণত একটি কলাম বা রেকর্ডের শেষ মান রিটার্ন করার জন্য ব্যবহৃত হয়। এটি কিছু সিস্টেমে অ্যাগ্রিগেট ফাংশন হিসেবে কাজ করতে পারে, তবে বেশিরভাগ ডেটাবেস সিস্টেমে এটি প্রাক-সংজ্ঞায়িত নয়। তাই LAST()
ব্যবহারের জন্য বিশেষ কিছু ডেটাবেসের কুয়েরি বা বিকল্প পদ্ধতি প্রযোজ্য হতে পারে।
LAST()
ফাংশন ব্যবহার:এটি সাধারণত ডেটাবেসে ব্যবহার করা হয় শেষ রেকর্ড বা কলামের মান বের করার জন্য।
ধরা যাক, আপনি একটি টেবিল থেকে শেষ salary
মান পেতে চান:
SELECT LAST(salary) FROM Employees;
এটি Employees
টেবিলের শেষ রেকর্ডের salary
মান রিটার্ন করবে।
LAST()
ফাংশনের বিকল্প পদ্ধতিযেহেতু LAST()
SQL স্ট্যান্ডার্ডের অংশ নয়, তাই বেশিরভাগ ডেটাবেস সিস্টেমে এটি সমর্থিত নয়। তবে, আপনি ORDER BY
এবং LIMIT
ব্যবহার করে শেষ রেকর্ড বা সর্বশেষ মান পেতে পারেন।
LAST()
ফাংশনের বিকল্প:MySQL তে, আপনি ORDER BY
এবং LIMIT
ব্যবহার করে শেষ রেকর্ড পেতে পারেন।
SELECT * FROM Employees ORDER BY id DESC LIMIT 1;
এটি Employees
টেবিলের শেষ রেকর্ড (যেখানে id
সবচেয়ে বড়) রিটার্ন করবে।
SELECT salary FROM Employees ORDER BY id DESC LIMIT 1;
এটি Employees
টেবিলের শেষ salary
মান রিটার্ন করবে।
LAST()
ফাংশনের বিকল্প:PostgreSQL এবং SQL Server তে LAST()
ফাংশন সমর্থিত নয়, তবে আপনি ORDER BY
এবং LIMIT
অথবা TOP
(SQL Server এর জন্য) ব্যবহার করে শেষ রেকর্ড পেতে পারেন।
SELECT salary FROM Employees ORDER BY id DESC LIMIT 1;
SELECT TOP 1 salary FROM Employees ORDER BY id DESC;
LAST()
ফাংশন কেন ব্যবহার করা হয়?LAST()
ফাংশনটি নির্দিষ্ট অ্যাগ্রিগেট অপারেশনে ব্যবহার করা যেতে পারে যেখানে ডেটার শেষ মান পেতে হয়।LAST()
ফাংশন কিছু নির্দিষ্ট ডেটাবেস সিস্টেমে ব্যবহৃত হয়, যেমন Microsoft Access এবং কিছু কাস্টম ডেটাবেসে। তবে, এটি SQL স্ট্যান্ডার্ড ফাংশন নয়।ORDER BY
এবং LIMIT
বা TOP
(SQL Server) ব্যবহার করে শেষ রেকর্ড বা মান পেতে পারেন।LAST()
ফাংশন সাধারণত শেষ মান বা শেষ রেকর্ড বের করার জন্য ব্যবহৃত হয়, কিন্তু এটি ডেটাবেসের উপর নির্ভরশীল।SQL এর অধিকাংশ সিস্টেমে, ORDER BY
DESC এবং LIMIT 1
ব্যবহার করেই আপনি শেষ রেকর্ড বা মান সহজেই পেতে পারেন।
SQL MAX
()
ফাংশনটি নির্বাচিত(selected) কলামের বৃহত্তম ভ্যালুটি রিটার্ন করে।
SELECT MAX(name_of_column)
FROM name_of_table;
MAX
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
৪ | ১০৪ | ৭৫ | ০২-১১-২০১৫ |
৫ | ১০৫ | ৭৭ | ০২-১১-২০১৫ |
নিম্নের SQL স্টেটমেন্টটি "Student_attendance" টেবিলের "উপস্থিতি(Attendance)" কলামের সবচেয়ে বৃহত্তম ভ্যালুটি নিয়ে আসবেঃ
SELECT MAX(Attendance) AS HighestAttendance
FROM Student_attendance;
MIN
()
ফাংশনটি নির্বাচিত(selected) কলামের ক্ষুদ্রতম ভ্যালুটি রিটার্ন করে।
SELECT MIN(name_of_column)
FROM name_of_table;
MIN
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
৪ | ১০৪ | ৭৫ | ০২-১১-২০১৫ |
৫ | ১০৫ | ৭৭ | ০২-১১-২০১৫ |
নিম্নের SQL স্টেটমেন্টটি "Student_attendance" টেবিলের "উপস্থিতি(Attendance)" কলামের সবচেয়ে ক্ষুদ্রতম ভ্যালুটি নিয়ে আসবেঃ
SELECT MIN(Attendance) AS LowestAttendance
FROM Student_attendance;
SQL SUM
()
ফাংশনটি একটি কলামের সকল সংখ্যা ভ্যালুর সমষ্টি রিটার্ন করে।
SELECT SUM(name_of_column)
FROM name_of_table;
SUM
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
৪ | ১০৪ | ৭৫ | ০২-১১-২০১৫ |
৫ | ১০৫ | ৭৭ | ০২-১১-২০১৫ |
নিম্নের SQL স্টেটমেন্টটি "Student_attendance" টেবিলের " উপস্থিতি(Attendance)" কলামের সকল ভ্যালুর সমষ্টি নিয়ে আসবেঃ
SELECT SUM(Attendance) AS TotalAttendance
FROM Student_attendance;
SQL UCASE
()
ফাংশন একটি ফিল্ডের মানকে বড়-হাতের বর্ণে রূপান্তর করে।
SELECT UCASE(name_of_column)
FROM name_of_table;
SELECT UPPER(name_of_column)
FROM name_of_table;
UCASE
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল থেকে "শিক্ষার্থীর নাম(Student_name)" এবং "ঠিকানা(Address)" কলামকে সিলেক্ট করে "শিক্ষার্থীর নাম(Student_name)" কলামের ইংরেজী শব্দ গুলোকে বড়-হাতের বর্ণে রূপান্তর করবেঃ
SELECT UCASE(Student_name) AS Student, Address
FROM Student_details;
বিঃদ্রঃ
UCASE
()
ফাংশন শুধুমাত্র ইংরেজী শব্দের সাথে কাজ করে।
SQL UCASE
()
ফাংশন একটি ফিল্ডের মানকে বড়-হাতের বর্ণে রূপান্তর করে।
SELECT UCASE(name_of_column)
FROM name_of_table;
SELECT UPPER(name_of_column)
FROM name_of_table;
UCASE
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল থেকে "শিক্ষার্থীর নাম(Student_name)" এবং "ঠিকানা(Address)" কলামকে সিলেক্ট করে "শিক্ষার্থীর নাম(Student_name)" কলামের ইংরেজী শব্দ গুলোকে বড়-হাতের বর্ণে রূপান্তর করবেঃ
SELECT UCASE(Student_name) AS Student, Address
FROM Student_details;
বিঃদ্রঃ
UCASE
()
ফাংশন শুধুমাত্র ইংরেজী শব্দের সাথে কাজ করে।
SQL MID()
ফাংশনটি টেক্সট ফিল্ড থেকে নির্দিষ্ট সংখ্যক বর্ণ নিষ্কাশন(extract) করে।
SELECT MID(name_of_column, start, length) AS some_name
FROM name_of_table;
প্যারামিটার | বর্ণনা |
---|---|
name_of_column | আবশ্যক। যে ফিল্ড থেকে বর্ণ খুঁজে বের করে। |
start | আবশ্যক। শুরুর অবস্থান নির্ধারণ করে। |
length | ঐচ্ছিক। যত সংখ্যক অক্ষর রিটার্ন করবে তার দৈর্ঘ্য বুঝায়। যদি এটিকে বাদ দেওয়া হয় তাহলে MID() ফাংশনটি টেক্সট ফিল্ডের সকল অক্ষর গুলো নিয়ে আসে। |
বিঃদ্রঃ SQL Server এ
MID()
ফাংশনের সমতুল্য ফাংশন হলোSUBSTRING()
ফাংশন
SELECT SUBSTRING(name_of_column, start, length) AS some_name
FROM name_of_table;
MID
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল থেকে "ঠিকানা(Address)" কলামের প্রথম তিনটি অক্ষর সিলেক্ট করবেঃ
SELECT MID(Address, 1, 3) AS ShortAddress
FROM Student_details;
ফলাফলঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | সংক্ষিপ্ত ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁ |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁ |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁ |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁ |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁ |
LEN()
ফাংশনটি টেক্সট ফিল্ডের মধ্যে অবস্থিত অক্ষরের সংখ্যা রিটার্ন করে।
SELECT LEN(name_of_column)
FROM name_of_table;
MySQL-এ LEN()
ফাংশনটি কাজ করে না এর পরিবর্তে আমরা LENGTH()
ফাংশনটি ব্যবহার করবো।
SELECT LENGTH(name_of_column)
FROM name_of_table;
LEN
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল থেকে সকল কলাম সিলেক্ট করবে এবং "শিক্ষার্থীর নাম(Student_name)" কলামের অক্ষরের দৈর্ঘ্য নির্ণয় করে একটি নতুন কলামে ইনসার্ট করবেঃ
SELECT *, LENGTH(Student_name) AS LengthOfName
FROM Student_details;
ফলাফলঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | শিক্ষার্থীর নামের দৈর্ঘ্য | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | 34 | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | 40 | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | 38 | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | 34 | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | 34 | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
SQL ROUND()
ফাংশনটি নির্দিষ্ট দশমিক সংখ্যাকে একটি পূর্ণ সংখ্যায় প্রকাশ করতে ব্যবহৃত হয়।
SELECT ROUND(name_of_column,decimals)
FROM name_of_table;
প্যারামিটার | বর্ণনা |
---|---|
name_of_column | আবশ্যক। যে ফিল্ডটি রাউন্ড করতে হবে। |
decimals | আবশ্যক। দশমিক সংখ্যা ফেরত পাঠাবে। |
ROUND
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১.০০ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২.০০ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩.০০ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪.০০ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫.০০ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল থেকে "রোল নাম্বার(Roll_number)" কলামটি সিলেক্ট করে এর মান গুলোকে রাউন্ড করবেঃ
SELECT ROUND(Roll_number,0) AS Roll_number
FROM Student_details;
ফলাফলঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
SQL NOW()
ফাংশনটি সিস্টেমের বর্তমান সময় এবং তারিখ রিটার্ন করে।
SELECT NOW()
FROM name_of_table;
NOW
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়াঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
৪ | ১০৪ | ৭৫ | ০২-১১-২০১৫ |
৫ | ১০৫ | ৭৭ | ০২-১১-২০১৫ |
নিম্নের SQL স্টেটমেন্টটি "Student_attendance" টেবিল থেকে আজকের দিনে ভর্তিকৃত শিক্ষার্থীদের তথ্য নিয়ে আসবেঃ
SELECT NOW() AS TodaysAdmission
FROM Student_attendance;
SQL FORMAT
()
ফাংশনটি একটি ফিল্ডের তথ্য কিভাবে প্রদর্শিত হবে তা নির্ধারণ করে। ডেটাবেজ থেকে প্রাপ্ত তথ্যকে আমাদের ইচ্ছামত ফরম্যাটে দেখানোর জন্য আমরা FORMAT
()
ফাংশনটি ব্যবহার করবো।
SELECT FORMAT(name_of_column,format)
FROM name_of_table;
প্যারামিটার | বর্ণনা |
---|---|
name_of_column | আবশ্যক। যে ফিল্ডটি ফরম্যাট করতে হবে তা সিলেক্ট করবে। |
format | আবশ্যক। ফরম্যাট নির্দেশ করে। |
FORMAT
()
ফাংশনের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়াঃ
আইডি নং | রোল নাম্বার | উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯ | ০১-১১-২০১৫ |
২ | ১০২ | ৯১ | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০ | ০১-১১-২০১৫ |
৪ | ১০৪ | ৭৫ | ০২-১১-২০১৫ |
৫ | ১০৫ | ৭৭ | ০২-১১-২০১৫ |
নিম্নের SQL স্টেটমেন্টটি "Student_attendance" টেবিল থেকে আজকের দিনে ভর্তিকৃত শিক্ষার্থীর জন্য তারিখের একটি নির্দিষ্ট ফরম্যাট ঠিক করবেঃ
SELECT FORMAT(Now(),'YYYY-MM-DD') AS AdmittedDate
FROM Student_attendance;
common.read_more